在 React 中,列表渲染是一種常見的操作,用於將資料列表渲染為頁面上的元素,這在頁面中是十分常見的一種形式。
這邊有一個 people
的陣列,其中包含了三個物件,每個物件都有 id
、name
和 age
屬性:
const people = [
{
id: 0,
name: '張三',
age: 24
},
{
id: 1,
name: '李四',
age: 31
},
{
id: 2,
name: '陳五',
age: 42
}
];
在 React 中,當我們需要在 JSX 中使用 JavaScript 時,需要使用大括號 {}
進入 JavaScript 模式,以下是如何使用 map()
函式來渲染 people
陣列的範例:
function List() {
return (
<ul>
// 使用大括號 {} 進入 JavaScript 模式
{
people.map((person) => (
<li key={person.id}>{person.name} 今年 {person.age} 歲</li>
))
}
</ul>
);
}
在這個範例中,我們遍歷 people
陣列,為每筆資料創建一個 <li>
元素。
請注意,我們在每個 <li>
元素上都使用了 key
屬性,key
屬性在 React 列表渲染中十分重要,並且該屬性的值必須是唯一的,通常會使用資料的唯一 ID 作為 key
。
const people = [
{
id: 0,
name: '張三',
age: 24
},
{
id: 1,
name: '李四',
age: 31
}
{
id: 2,
name: '陳五',
age: 42
}
];
假如我們希望過濾出 age > 30
的人,可以先使用陣列的 filter
方法進行資料的處理,最後再用這筆過濾的資料去進行列表渲染。
function List() {
const filteredPeople = people.filter((person) => person.age > 30);
return (
<ul>
{
filteredPeople.map((person) => (
<li key={person.id}>{person.name} 今年 {person.age} 歲</li>
))
}
</ul>
);
}
React 中的列表渲染是一個在網頁開發中常見且重要的技巧,透過 map
或 filter
函式,我們能夠輕鬆處理資料陣列,並將其渲染為頁面上的元素。
我們也了解到在列表渲染過程中,key
屬性的重要性,該屬性的值必須是唯一的,通常會使用資料的唯一 ID 做為 key
。